home *** CD-ROM | disk | FTP | other *** search
-
-
-
- IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
-
-
-
- NNNNAAAAMMMMEEEE
- ispell - format of ispell dictionaries
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- Dictionaries for _i_s_p_e_l_l(1) come in two formats: raw, and
- unhashed. The hashed dictionary is generated by _b_u_i_l_d_h_a_s_h
- (see _i_s_p_e_l_l(1)) from the raw dictionary, and is not
- described here.
-
- A raw _i_s_p_e_l_l dictionary (either the main dictionary or your
- own personal dictionary) contains a list of words, one per
- line. Each word may optionally be followed by a slash ("/")
- and one or more flags, which modify the root word as
- explained below. Case is significant in the root word, but
- ignored in the flags. The dictionary does not need to be
- sorted.
-
- The case of the root word controls the case of words
- accepted by _i_s_p_e_l_l, as follows:
-
- (1) If the root word appears only in lower case (e.g.,
- "bob"), it will be accepted in lower case, capitalized,
- or all capitals.
-
- (2) If the root word appears capitalized (e.g., "Robert"),
- it will be not be accepted in all-lower case, but will
- be accepted capitalized or all in capitals.
-
- (3) If the root word appears all in capitals (e.g.,
- "UNIX"), it will only be accepted all in capitals.
-
- (4) If the root word appears with a "funny" capitalization
- (e.g., "ITCorp"), a word will be accepted only if it
- follows that capitalization, or if it appears all in
- capitals.
-
- (5) More than one capitalization of a root word may appear
- in the dictionary. Flags from different
- capitalizations are combined by OR-ing them together.
-
- Redundant capitalizations (e.g., "bob" and "Bob") will be
- combined by _b_u_i_l_d_h_a_s_h and by _i_s_p_e_l_l (for personal
- dictionaries), and can be removed from a raw dictionary by
- _m_u_n_c_h_l_i_s_t.
-
- For example, the dictionary:
-
- bob
- Robert
- UNIX
- ITcorp
- ITCorp
-
-
-
- Page 1 (printed 3/9/94)
-
-
-
-
-
-
- IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
-
-
-
- will accept "bob," "Bob," "BOB," "Robert," "ROBERT," "UNIX,"
- "ITcorp," "ITCorp," and "ITCORP," and will reject all
- others. Some of the unacceptable forms are "bOb," "robert,"
- "Unix," and "ItCorp."
-
- As mentioned above, root words in any dictionary may be
- extended by flags. Each flag is a single alphabetic
- character, which represents a suffix that may be added to
- the root to form a new word. For example, the "D" flag can
- be added to "bathe" to make "bathed". Since flags are
- represented as a single bit in the hashed dictionary, this
- results in significant space savings. The _m_u_n_c_h_l_i_s_t script
- will reduce an existing raw dictionary by adding flags when
- possible.
-
- When a word is extended with a suffix, the suffix will be
- accepted only if it appears in the same case as the final
- letter of the word. Thus, for example, the entry "UNIX/M"
- in the main dictionary ("M" means add an apostrophe and an
- "s" to make a possessive) would accept "UNIX'S" but would
- reject "UNIX's". If "UNIX's" is legal, it must appear as a
- separate dictionary entry, and it will not be combined by
- _m_u_n_c_h_l_i_s_t.
-
- In the following discussion of the flags, let # and @ be
- "variables" that can stand for any letter. Upper case
- letters are constants. "..." stands for any string of zero
- or more letters, but note that no word may exist in the
- dictionary which is not at least 2 letters long, so, for
- example, "fly" may not be produced by placing the "Y" flag
- on "f". Also, no flag is effective unless the word that it
- creates is at least 4 letters long, so, for example, "wed"
- may not be produced by placing the "D" flag on "we".
-
- The meaning of the flags is as follows:
-
- V
- ...e --> ...ive as in create --> creative
- if # .ne. e, ...# --> ...#ive as in prevent -->
- preventive
-
- N
- ...e --> ...ion as in create --> creation
- ...y --> ...ication as in multiply --> multiplication
- if # .ne. e or y, ...# --> ...#en as in fall -->
- fallen
-
- X
- ...e --> ...ions as in create --> creations
- ...y --> ...ications as in multiply -->
- multiplications
- if # .ne. e or y, ...# --> ...#ens as in weak -->
-
-
-
- Page 2 (printed 3/9/94)
-
-
-
-
-
-
- IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
-
-
-
- weakens
-
- H
- ...y --> ...ieth as in twenty --> twentieth
- if # .ne. y, ...# --> ...#th as in hundred -->
- hundredth
-
- Y
- ... --> ...ly as in quick --> quickly
-
- G
- ...e --> ...ing as in file --> filing
- if # .ne. e, ...# --> ...#ing as in cross --> crossing
-
- J
- ...e --> ...ings as in file --> filings
- if # .ne. e, ...# --> ...#ings as in cross -->
- crossings
-
- D
- ...e --> ...ed as in create --> created
- if @ .ne. a, e, i, o, or u, ...@y --> ...@ied as in
- imply --> implied
- if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
- ...@# --> ...@#ed as in cross --> crossed or
- convey --> conveyed
-
- T
- ...e --> ...est as in late --> latest
- if @ .ne. a, e, i, o, or u, ...@y --> ...@iest as in
- dirty --> dirtiest
- if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
- ...@# --> ...@#est as in small --> smallest or
- gray --> grayest
-
- R
- ...e --> ...er as in skate --> skater
- if @ .ne. a, e, i, o, or u, ...@y --> ...@ier as in
- multiply --> multiplier
- if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
- ...@# --> ...@#er as in build --> builder or
- convey --> conveyer
-
- Z
- ...e --> ...ers as in skate --> skaters
- if @ .ne. a, e, i, o, or u, ...@y --> ...@iers as in
- multiply --> multipliers
- if # .ne. e or y, or (# = y and @ = a, e, i, o, or u)
- ...@# --> ...@#ers as in build --> builders or
- slay --> slayers
-
- S
-
-
-
- Page 3 (printed 3/9/94)
-
-
-
-
-
-
- IIIISSSSPPPPEEEELLLLLLLL((((4444)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV IIIISSSSPPPPEEEELLLLLLLL((((4444))))
-
-
-
- if @ .ne. a, e, i, o, or u, ...@y --> ...@ies as in
- imply --> implies
- if # .eq. s, x, z, or h, ...# --> ...#es as in fix -->
- fixes
- if # .ne. s, x, z, h, or y, or (# = y and @ = a, e, i,
- o, or u) ...@# --> ...@#s as in bat --> bats or
- convey --> conveys
-
- P
- if @ .ne. a, e, i, o, or u, ...@y --> ...@iness as in
- cloudy --> cloudiness
- if # .ne. y, or @ = a, e, i, o, or u, ...@# -->
- ...@#ness as in late --> lateness or gray -->
- grayness
-
- M
- ... --> ...'s as in dog --> dog's
-
- To summarize more briefly:
-
- V - ive
- N - ion, tion, en
- X - ions, ications, ens
- H - th, ieth
- Y - ly
- G - ing
- J - ings
- D - ed
- T - est
- R - er
- Z - ers
- S - s, es, ies
- P - ness, iness
- M - 's
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ispell(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4 (printed 3/9/94)
-
-
-
-